package com.penghaisoft.microwms.common.base.model;

import com.penghaisoft.microwms.common.page.Pagination;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @Title: BaseUser.java
 * @Description: base_user
 * @author zxcq0
 * @date 2017/2/28 14:39
 * @version V1.0
 */
public class BaseUser extends Pagination {

    /**
	 * 
	 */
	private static final long serialVersionUID = -2785040364248469903L;

	/**
     * 主键ID:UUID
     */
    private String userId;
    
    /**
     * 用户类型编码
     */
    private String userTypeCode;
    /**
     * 登录账户名-索引
     */
    private String loginName;
    /**
     * 登录密码
     */
    private String password;
    
    /**
     * 手持业务密码
     */
    private String rfPwd;
    /**
     * 人员姓名
     */
    private String userName;
    /**
     * 邮件地址
     */
    private String email;
    /**
     * 座机号
     */
    private String phone;
    /**
     * 手机号
     */
    private String mobile;
    /**
     * 头像地址
     */
    private String avatarUrl;
    /**
     * 最后登录IP
     */
    private String loginIp;
    /**
     * 最后登录时间
     */
    private Date loginDate;
    /**
     * 是否可登录 1可登录 0不可登录
     */
    private String loginFlag;
    /**
     * 是否初始化标志 1:是 0:否
     */
    private String initFlag;
    /**
     * 最后密码修改时间
     */
    private Date lastPwdModifed;
    
    /**
     * 供应商编码
     */
    private String supplyCode;
    /**
     * 创建人
     */
    private String createBy;
    /**
     * 创建时间
     */
    private Date gmtCreate;
    private String gmtCreateStr;
    private Date gmtCreateMin;
    private Date gmtCreateMax;
    /**
     * 更新人
     */
    private String lastModifiedBy;
    /**
     * 更新时间
     */
    private Date gmtModified;
    private String gmtModifiedStr;
    private Date gmtModifiedMin;
    private Date gmtModifiedMax;
    /**
     * 有效标志 1-有效 0-无效
     */
    private String activeFlag;
    /**
     * 备注
     */
    private String remark;

    private String hireFlag;//  在职标志 1:是 0:否
    private Date hireDate;//  入职时间
    private Date leaveDate;//  离职时间
    
    private String factoryGroupCode;//工厂组编码

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId == null ? null : userId.trim();
    }

    public String getLoginName() {
        return loginName;
    }

    public void setLoginName(String loginName) {
        this.loginName = loginName == null ? null : loginName.trim();
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password == null ? null : password.trim();
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName == null ? null : userName.trim();
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email == null ? null : email.trim();
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone == null ? null : phone.trim();
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile == null ? null : mobile.trim();
    }

    public String getAvatarUrl() {
        return avatarUrl;
    }

    public void setAvatarUrl(String avatarUrl) {
        this.avatarUrl = avatarUrl == null ? null : avatarUrl.trim();
    }

    public String getLoginIp() {
        return loginIp;
    }

    public void setLoginIp(String loginIp) {
        this.loginIp = loginIp == null ? null : loginIp.trim();
    }

    public Date getLoginDate() {
        return loginDate;
    }

    public void setLoginDate(Date loginDate) {
        this.loginDate = loginDate;
    }

    public String getLoginFlag() {
        return loginFlag;
    }

    public void setLoginFlag(String loginFlag) {
        this.loginFlag = loginFlag == null ? null : loginFlag.trim();
    }

    public String getInitFlag() {
        return initFlag;
    }

    public void setInitFlag(String initFlag) {
        this.initFlag = initFlag == null ? null : initFlag.trim();
    }

    public Date getLastPwdModifed() {
        return lastPwdModifed;
    }

    public void setLastPwdModifed(Date lastPwdModifed) {
        this.lastPwdModifed = lastPwdModifed;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy == null ? null : createBy.trim();
    }

    public Date getGmtCreate() {
        return gmtCreate;
    }

    public void setGmtCreate(Date gmtCreate) {
        this.gmtCreate = gmtCreate;
        if (gmtCreate!=null) {
			setGmtCreateStr(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(gmtCreate));
		}
    }

    public String getLastModifiedBy() {
        return lastModifiedBy;
    }

    public void setLastModifiedBy(String lastModifiedBy) {
        this.lastModifiedBy = lastModifiedBy == null ? null : lastModifiedBy.trim();
    }

    public Date getGmtModified() {
        return gmtModified;
    }

    public void setGmtModified(Date gmtModified) {
        this.gmtModified = gmtModified;
        if (gmtModified!=null) {
        	setGmtModifiedStr(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(gmtModified));
		}
    }

    public String getActiveFlag() {
        return activeFlag;
    }

    public void setActiveFlag(String activeFlag) {
        this.activeFlag = activeFlag == null ? null : activeFlag.trim();
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    public String getHireFlag() {
        return this.hireFlag;
    }

    public void setHireFlag(String value) {
        this.hireFlag = value;
    }
    public Date getHireDate() {
        return this.hireDate;
    }

    public void setHireDate(Date value) {
        this.hireDate = value;
    }
    public Date getLeaveDate() {
        return this.leaveDate;
    }

    public void setLeaveDate(Date value) {
        this.leaveDate = value;
    }

	public String getUserTypeCode() {
		return userTypeCode;
	}

	public void setUserTypeCode(String userTypeCode) {
		this.userTypeCode = userTypeCode;
	}

	public Date getGmtCreateMin() {
		return gmtCreateMin;
	}

	public void setGmtCreateMin(Date gmtCreateMin) {
		this.gmtCreateMin = gmtCreateMin;
	}

	public Date getGmtCreateMax() {
		return gmtCreateMax;
	}

	public void setGmtCreateMax(Date gmtCreateMax) {
		this.gmtCreateMax = gmtCreateMax;
	}

	public Date getGmtModifiedMin() {
		return gmtModifiedMin;
	}

	public void setGmtModifiedMin(Date gmtModifiedMin) {
		this.gmtModifiedMin = gmtModifiedMin;
	}

	public Date getGmtModifiedMax() {
		return gmtModifiedMax;
	}

	public void setGmtModifiedMax(Date gmtModifiedMax) {
		this.gmtModifiedMax = gmtModifiedMax;
	}

	public String getGmtCreateStr() {
		return gmtCreateStr;
	}

	public void setGmtCreateStr(String gmtCreateStr) {
		this.gmtCreateStr = gmtCreateStr;
	}

	public String getGmtModifiedStr() {
		return gmtModifiedStr;
	}

	public void setGmtModifiedStr(String gmtModifiedStr) {
		this.gmtModifiedStr = gmtModifiedStr;
	}

	public String getRfPwd() {
		return rfPwd;
	}

	public void setRfPwd(String rfPwd) {
		this.rfPwd = rfPwd;
	}

	public String getSupplyCode() {
		return supplyCode;
	}

	public void setSupplyCode(String supplyCode) {
		this.supplyCode = supplyCode;
	}

	public String getFactoryGroupCode() {
		return factoryGroupCode;
	}

	public void setFactoryGroupCode(String factoryGroupCode) {
		this.factoryGroupCode = factoryGroupCode;
	}
	
}